package fsmCore;

import java.io.Serializable;
import java.util.Vector;

public class ClasseEquivalenza implements Serializable{

	private static final long serialVersionUID = 1L;
	private String nome;
	private int durata;
	
	//@ requires non_null nome && non_null durata
	public ClasseEquivalenza(String nome, int durata){
		this.nome=nome;
		this.durata=durata;
	}

	public String getNome() {
		return nome;
	}

	//@ requires non_null nome
	public void setNome(String nome) {
		this.nome = nome;
	}

	public int getDurata() {
		return durata;
	}

	//@ requires non_null durata
	public void setDurata(int durata) {
		this.durata = durata;
	}
	
	//@ requires not_null ClasseEq 
	public boolean equals(ClasseEquivalenza ClasseEq){
		if(nome.equalsIgnoreCase(ClasseEq.getNome())) // stessa classe eq
			return true;
		else
			return false;
	}
	
	public boolean isPresente(Vector <ClasseEquivalenza>classiEq){
		for(int i=0;i<classiEq.size();i++){
			if(nome.equalsIgnoreCase(classiEq.get(i).getNome()))
				return true;	
			}
				return false;
		
	}
	public String toString(){
		return nome;
	}
	
	//@ requires non_null m
	public boolean isUsata(Macchina m){
		Vector<Transizione> t = new Vector<Transizione>();
		t=m.getTransizioniSincrone();
		
		for(int i=0; i < t.size(); i++){
			if (((TransizioneSincrona)t.get(i)).getClasseEq().equals(this))
				return true;
		}
		
		return false;
	}
	
}
